iT邦幫忙

0

JS 變數與值

  • 分享至 

  • xImage
  •  

變數 - Variable

什麼是變數?
變數就是所謂給電腦辨識定義資訊的名稱。

值 - Valure

什麼是值?
值就是所謂給電腦辨識該變數所賦予出的值,也就是所謂的代出想要的數據答案。


宣告變數的種類

Var

不受任何作用域規範所限制,可以選擇將每個函數或是全域範圍的變數初始化為一個值。

var x = 1;

if (x === 1) {
  var x = 2;

  console.log(x);
  // Expected output: 2
}

console.log(x);
// Expected output: 2
let

只作用在當前區塊的變數,初始值可選擇性的設定,區域變數宣告後可以重新賦值。

let x = 1;

if (x === 1) {
let x = 2;

console.log(x);
// Expected output: 2
}

console.log(x);
// Expected output: 1
const

有點像使用 let 所宣告的變數,具有區塊可視範圍。
常數不能重複指定值,也不能重複宣告。
區域變數宣告後不可以改變賦值。

const number = 42;

try {
number = 99;
} catch (err) {
console.log(err);
// Expected output: TypeError: invalid assignment to const `number'
// (Note: the exact output may be browser-dependent)
}

console.log(number);
// Expected output: 42

簡單值基本型別 (Primintives type) 和 不簡單物件值型別 (Object type)

基本型別-Primintives type
const s1 = Symbol();
const s2 = Symbol();
console.log(s1 === s2); // false

symbols 有另一個很重要的用途,就是用作對象的 key。

const obj = {};
const sym = Symbol();
obj[sym] = 'foo';
obj.bar = 'bar';
console.log(obj); // { bar: 'bar' }
console.log(sym in obj); // true
console.log(obj[sym]); // foo
console.log(Object.keys(obj)); // ['bar']
不簡單物件值型別 (Object type
  • Array-陣列: [ 99, 'hello', true, undefined ]
    Array 全域物件被用於建構陣列;陣列為高階(high-level)、似列表(list-like)的物件。
    陣列在 Javascript 裡面並沒有固定的長度與型別。由於陣列的長度可以隨時被改變,所以並不能保證陣列的密度。 需要使用[]將陣列內容物包起來
  • Object-構造函數: Object() 構造函數將輸入轉換為一個對象。它的行為取決於輸入的類型。
const o = new Object();
o.foo = 42;

console.log(o);
// { foo: 42 }

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言